package com.xhui.vimarket.zkplus.zul.attr.bus;

/**
 * .
 * 
 * @版权：福富软件 版权所有 (c) 2011
 * @author wuyx
 * @version Revision 1.0.0
 * @see:
 * @创建日期：2011-12-31
 * @功能说明：
 * 
 */
public interface AttrBus {
    
    /**
     * 注册监听器.
     * 
     * @param procName String
     * @param attrProc AttrProc
     * @author wuyx
     * 2012-1-4 wuyx 
     */
    void addProcListener(String procName, AttrProc attrProc);
    
    /**
     * 根据名称清除监听器.
     * 
     * @param procName String
     * @author wuyx
     * 2012-1-4 wuyx 
     */
    void removeProcListener(String procName);
    
    /**
     * 根据监听器清除.
     * 
     * @param procName String
     * @param attrProc AttrProc
     * @author wuyx
     * 2012-1-4 wuyx 
     */
    void removeProcListener(String procName, AttrProc attrProc);
    
    /**
     * 触发监听器执行.
     * 
     * @param procName String
     * @param obj Object
     * @author wuyx
     * 2012-1-4 wuyx 
     */
    void fireProcListener(String procName, Object obj);
    
    /**
     * 添加方法对象.
     * 
     * @param funName String
     * @param attrFun AttrFun
     * @author wuyx
     * 2012-1-4 wuyx 
     */
    void addFunListener(String funName, AttrFun attrFun);
    
    /**
     * 根据名称获取方法对象.
     * 
     * @param funName String
     * @return AttrFun
     * @author wuyx
     * 2012-1-4 wuyx 
     */
    AttrFun getFunListener(String funName);
    
    /**
     * .
     * 
     * @param attrExt
     * @author wuyx
     * 2012-1-17 wuyx 
     */
    void setAttrExt(AttrExt attrExt);
    
    /**
     * .
     * 
     * @return
     * @author wuyx
     * 2012-1-17 wuyx 
     */
    AttrExt getAttrExt();
    
}
